tree menu

tree menu

am 20.06.2005 22:03:23 von nicky5

Hallo zusammen,

ich hab ein dynamische menu anhang diese http://tut.php-q.net/frames.html
tutorials erstellt, es funktioniert alles, nur möchte ich die einträge jetzt
in der DB speicher und über ein Admin panel den menu verwalten.

Gleichzeitig möchte ich ein Tree menu aufbauen hier den alle PHP scripte.

Wie müsste die DB aussehen für den Menu aussehen?
Wie baue ich ein Tree menu ein?

die Index Seite:





error_reporting(E_ALL);
echo " echo "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
echo "\n";
echo "\n";
echo "Meine Seite\n";
echo "\n";
echo " charset=ISO-8859-1\" />\n";
echo "\n";
echo "\n";
echo "

\n"; // ganz oberer Div-Holder
echo "
\n"; // banner
include "banner.php";
echo "
\n";
echo "
\n"; // linkes Menu
include "menu.php";
echo "
\n";
echo "
\n"; // In der Mitte der Inhalt
include "inhalt.php";
echo "
\n";
echo "
\n"; // css-float beenden
echo "
\n";
echo "\n";
echo "\n";?>


menu.php



$dateien = array(); // ein Leeres Array erzeugen
$dateien['news'] = "news.php";
$dateien['clanwars'] = "clanwars.php";
$dateien['admin'] = "admin.php";
$dateien['test']="test/test.php";
?>















inhalt.php




if(isset($_GET['section']) AND isset($dateien[$_GET['section']])) {
include $dateien[$_GET['section']];
}
else
{
include $dateien['news'];
}
?>

Re: tree menu

am 22.06.2005 21:15:59 von Manuel Maurer

Hallo,

> ich hab ein dynamische menu anhang diese http://tut.php-q.net/frames.html
> tutorials erstellt, es funktioniert alles, nur möchte ich die einträge jetzt
> in der DB speicher und über ein Admin panel den menu verwalten.
Ich glaube nicht, dass du das willst ;-)

> Gleichzeitig möchte ich ein Tree menu aufbauen hier den alle PHP scripte.
>
> Wie müsste die DB aussehen für den Menu aussehen?
> Wie baue ich ein Tree menu ein?
Nun, das ist etwas komplizierter und solltest du nicht profunde
Kentnisse in SQL nachweisen können, so würde ich dir wärmstens davon
abraten. Falls du dich dennoch daran machen willst, die Grundlage für
das System nennt sich Nested Sets und das findest du hier:

http://www.develnet.org/36.html

Allerdings ist das rein theoretisch ausgelegt. Du musst tw. selber
wissen, wie du die SQL-Statements formulierst und außerdem musst du dir
scharf überlegen, welche Zahlen du verändern musst, um nachher alles
schön sauber in der DB zu haben.

> die Index Seite: [div. Code]
Wieso gibst du den ganzen HTML-Kopfteil per PHP aus? Fang doch mit PHP
erst dort an, wo du es brauchst - nur als Tipp.

mfg Manuel

Re: tree menu

am 23.06.2005 20:12:32 von Karl Heinz Marbaise

Hallo,

[...]
> Gleichzeitig möchte ich ein Tree menu aufbauen hier den alle PHP scripte.
>
> Wie müsste die DB aussehen für den Menu aussehen?
> Wie baue ich ein Tree menu ein?
1. Der Hinweis Nested-Sets ist genaus das was Du machen must.

Aber man muss das Rad ja nicht ständig neu erfinden:

Schau mal hier nach:
http://klempert.de/php/nested_sets/demo/

Ich möchte aber noch ein paar Bemerkungen zu Deinem Code loswerden:

1. Du solltest Dich mit dem Thema Templates (z.B. Smarty) beschäftigen

> > if(isset($_GET['section']) AND isset($dateien[$_GET['section']])) {
> include $dateien[$_GET['section']];
> }
> else
> {
> include $dateien['news'];
> }
> ?>

2. Includes von Dateien sollte man nie über POST/GET Parameter steuern
sondern immer hart kodieren.

Warum ? => Sicherheit!

3. Eventuell wäre die Anwendung von Funktionen bzw. Klassen
besser für das Problem geeignet.

Warum? => Besser wartbarer Code...(einfache Änderbarkeit etc.)

MfG
Karl Heinz Marbaise
--
Software Entwicklungs- und Beratungs Service http://www.soebes.de
Dipl.Ing.(FH) Karl Heinz Marbaise email: info@soebes.de
Tel.: +49 (0) 241 / 16 91 210 ICQ#: 135949029

Re: tree menu

am 24.06.2005 17:35:19 von nicky5

vielen dank für euere antworten,

smarty template, wie könnte damit anfangen, wie würde ein aufbau aussehen?

danke
"Karl Heinz Marbaise" schrieb im Newsbeitrag
news:3i0ccgFj5450U1@individual.net...
> Hallo,
>
> [...]
> > Gleichzeitig möchte ich ein Tree menu aufbauen hier den alle PHP
scripte.
> >
> > Wie müsste die DB aussehen für den Menu aussehen?
> > Wie baue ich ein Tree menu ein?
> 1. Der Hinweis Nested-Sets ist genaus das was Du machen must.
>
> Aber man muss das Rad ja nicht ständig neu erfinden:
>
> Schau mal hier nach:
> http://klempert.de/php/nested_sets/demo/
>
> Ich möchte aber noch ein paar Bemerkungen zu Deinem Code loswerden:
>
> 1. Du solltest Dich mit dem Thema Templates (z.B. Smarty) beschäftigen
>
> > > > if(isset($_GET['section']) AND isset($dateien[$_GET['section']])) {
> > include $dateien[$_GET['section']];
> > }
> > else
> > {
> > include $dateien['news'];
> > }
> > ?>
>
> 2. Includes von Dateien sollte man nie über POST/GET Parameter steuern
> sondern immer hart kodieren.
>
> Warum ? => Sicherheit!
>
> 3. Eventuell wäre die Anwendung von Funktionen bzw. Klassen
> besser für das Problem geeignet.
>
> Warum? => Besser wartbarer Code...(einfache Änderbarkeit etc.)
>
> MfG
> Karl Heinz Marbaise
> --
> Software Entwicklungs- und Beratungs Service http://www.soebes.de
> Dipl.Ing.(FH) Karl Heinz Marbaise email: info@soebes.de
> Tel.: +49 (0) 241 / 16 91 210 ICQ#: 135949029